The present invention relates generally to the logging of processing operations performed on one or more processing objects and more specifically to logging and centrally storing log messages associated with these operations across a multi-operation processing application.
Computer applications that process large volumes of transactional data are often designed according to a defined business process that comprises any number of multiple process steps. The objects to be processed in the application are processed in various steps. Within each step, different events can be logged in a job log in order to document the processing operations. Within each step, typically one or more events are tracked in an application.
In existing processing environments, applications compile and maintain operation logs individual to specific tasks or jobs. These logs including information relating to various processing steps for that job. For example, in a payment processing application, a first portion of the application may include receiving an initial electronic payment. The application may log the initial receipt of this electronic payment.
As the application executes additional steps in the processing operations, different steps are individually logged as they occur in different processing jobs. Logging various operations is very well known and commonly found in many processing operations. This logging technique allows additional levels of redundancy and security, by denoting when various operations occur. These logs can provide feedback information, for example indicating how many objects are processed in a set period of time.
High volume processing computer applications that are processing millions of transactions (objects) are often designed in a way that the single process steps are controlled by a central job-control mechanism. Within each job that is launched from the job-control, one or more process steps are processed for multiple objects.
Although, the existing systems are restricted by the per-job nature of the logs. As it currently stands, each different job in the processing application generates its individual log. This is due, in part, to the general nature of the applications themselves. In order to optimize the overall performance of the application, one or more steps are processed for multiple objects through a job control application that triggers batch jobs that execute the various steps. Often each of these jobs is divided into several work processes running in parallel in order to maximize the overall performance of the application and the number of objects that can be processed on the given hardware platform.
When multiple separate jobs process multiple objects through multiple process steps, the logging of messages or events within each process step is done in job-specific logs. These logs only document the messages or events that occur in the process steps performed by the specific job. This means that the logging of messages or events during the process is documented in multiple job logs.
These job logs have various problems and disadvantages. For one, each job log contains information on each object. If an object-orientated reporting of the information in the job logs is required, a user of the application must search in multiple logs in order to find the relevant information. An end-to-end event reporting for a specific object is extremely difficult due to the singular nature of the logs. Another problem is that the various job logs are typically not standardized regarding the logged content. This makes the complexity of the analysis of the different logs even higher. Additionally, the decision on which events or messages are to be stored in the database must be made at each job's runtime. For high-volume processing applications, the logging of messages or events is performance-critical, such that only the absolute necessary events or messages are to be stored within the log.
Therefore, the existing system uses a multi-step processing application having various jobs, where each job logs its specific job messages. This per job logging limits these existing systems from benefits of analyzing logging information across different jobs within the application itself as well as complicates the logging of the proper information.